package com.asj.vivo.lock.utils;

import static com.asj.enums.DeviceIdentifierDictEnums.json_key_code;
import static com.asj.enums.DeviceIdentifierDictEnums.json_key_deviceCode;
import static com.asj.enums.DeviceIdentifierDictEnums.json_key_resultData;
import static com.asj.enums.DeviceIdentifierDictEnums.json_key_resultMsg;
import static com.asj.enums.DeviceIdentifierDictEnums.json_key_state;

import com.asj.enums.ResultCodeEnums;
import com.google.gson.JsonObject;

/**
 * 返回参数封装工具
 * */
public class JSONParamPackingUtils {
    /**
     * 封装各个功能的返回参数
     * */
    public static void functionPacking(JsonObject param,
                                       ResultCodeEnums stateAndCode,
                                       String resultMsg){
        param.addProperty(json_key_code.getValue(),stateAndCode.getCode());
        param.addProperty(json_key_state.getValue(),stateAndCode.getMessage());
        if(resultMsg == null){
            param.addProperty(json_key_resultMsg.getValue(),stateAndCode.getMessage());
        }else{
            param.addProperty(json_key_resultMsg.getValue(),resultMsg);
        }
    }

    /**
     * 封装各个功能的返回参数(存在参数数据)
     * */
    public static void functionPacking(JsonObject param,
                                       ResultCodeEnums stateAndCode,
                                       String resultMsg,
                                       String resultData,
                                       String deviceCode){
        param.addProperty(json_key_code.getValue(),stateAndCode.getCode());
        param.addProperty(json_key_state.getValue(),stateAndCode.getMessage());
        param.addProperty(json_key_resultData.getValue(),resultData);
        param.addProperty(json_key_deviceCode.getValue(),deviceCode);
        if(resultMsg == null){
            param.addProperty(json_key_resultMsg.getValue(),stateAndCode.getMessage());
        }else{
            param.addProperty(json_key_resultMsg.getValue(),resultMsg);
        }
    }
}
